Ringing Js refinements
نویسندگان
چکیده
Both the four-point and the uniform cubic B-spline refinement (i.e. subdivision) schemes double the number of vertices of a closed-loop polygonal curve P and respectively produce sequences of vertices fk and bk. The Js refinement proposed here produces vertices vk=(1–s)fk+sbk. Iterative applications of Js yield a family of curves parameterized by s. It includes the four-point curve (J0), the uniform cubic B-spline (J8/8), and the quintic B-spline (J12/8). Iterating Js converges to a C curve for 0<s<1, to a C curve for 1≤s<3/2, and to a C curve for s=3/2. J3/8 tends to reduce the error between consecutive refinements and is useful to reduce popping when switching levels-of-detail in multi-resolution rendering. J4/8 produces the Jarek curve, which, in 2D, encloses a surface area that is usually very close to the area enclosed by the original control polygon P. We propose model-dependent and model-independent optimizations for these parameter values. As other refinement schemes, the Js approach extends trivially to open curves, animations, and surfaces. To reduce memory requirements when evaluating the final refined curve, surface, or animation, we introduce a new evaluation technique, called Ringing. It requires a footprint of only 5 points per subdivision level for each curve and does not introduce any redundant calculations. 1. Curve refinements For simplicity, we initially focus on planar, closed loop polygonal curves. Then, we explain how to extend our results to curves in higher-dimensions, to open curves, to motions, and to surfaces. We concentrate on Split&Tweak refinements [Ros04] that insert a new mid-edge vertex in the middle of each edge (Split operation) and then adjust the position of the old and/or new vertices (Tweak operation). Let P be the initial polygonal control loop and P the loop obtained after k refinement steps (Split and Tweak pairs). Let Pj be the j vertex of P. We focus on local refinement scheme, where each new vertex of P is computed as a linear combination of a set of vertices of P. Specifically, we use two stencils: P2j = α Pj–1+β Pj +χ Pj+1 for the new position of the old vertices and P2j+1 = δ Pj–1+ε Pj +φ Pj+1+γ Pj+2 for the position of the mid-edge vertices created by the split. All operations on vertex indices are performed modulo the number of vertices in the loop (Fig. 1 left). Fig. 1: Results of 3 consecutive refinements (left). The blue point (right) is α P1 + β P2 + χ P3. The red point is δ P1 + ε P2 + φ P3 + γ P4. Note that these points lie between the corresponding vertices produced by the four-point subdivision (red line) and by the uniform cubic B-spline subdivision (blue line). This particular interpolation corresponds to J0.7. J. Rossignac & S. Schaefer JS refinements 2 / 13 Because we favor symmetric schemes for which the result is independent of the orientation of the loop, we must have α=χ, δ=γ, and ε=φ. To make this subdivision scheme translation invariant, we also enforce that α +β +χ =1 and δ+ε+φ+γ =1. Hence, all seven coefficients may be defined in terms of two parameters a and b. We chose α=χ=a/8, β=(8–2a)/8, δ=γ=(b–1)/16, and ε=φ=(9–b)/16. The corresponding subdivision, P2j = (a Pj–1 + (8–2a) Pj + a Pj+1)/8 and P2j+1 = ((b–1) Pj–1 + (9–b) Pj + (9–b) Pj+1 + (b–1) Pj+2)/16, will be denoted Ja,b. For simplicity, we use Js for Js,s. We chose this parameterization so that J0 is the four-point refinement [NDG87, DD89] and J1 is the uniform cubic b-spline refinement [Sab02, LR80] (Fig. 1 left). Also note that J1/2 is the Jarek refinement [Ros04], which averages the four-point and cubic b-spline and usually nearly preserves the area enclosed by a 2D curve (Fig. 2). We use Js(P) to denote the result P of applying k Js refinements to P. Fig. 2: Results of 1, 2, and 6 refinements of four-point J0 (red), Jarek J1/2 (green), cubic B-spline J1 (cyan). 2. Previous Work Several researchers have considered subdivision schemes with a tunable parameter. For example, splines in tension [Sch96, Cli74] are a generalization of polynomial splines with a tunable parameter that controls the degree of “tightness” of the curve. These subdivision rules are not linear in the tension parameter. Their smoothness has not been analyzed. Barsky et al. [BB83] also created a generalization of B-splines called Beta-splines that provide bias and tension controls. Later, Dyn et al. [NDG87] developed an interpolatory four-point subdivision scheme with a tunable parameter that blends between local cubic Lagrange interpolation and linear interpolation. The smoothness of the curves generated with these subdivision scheme depends on the parameter, but is at most C. More recently Dyn et al. [DFH05] introduced a subdivision scheme based on local cubic Lagrange interpolation blended with Chaikin's subdivision scheme [Cha74] for C B-spline curves. They show that their method generates C curves for a large range of parameter values and optimize this parameter to create a subdivision scheme that is as close as possible to being interpolatory. Despite the fact that several subdivisions schemes with tunable parameters exist, there has been little work on optimizing these parameters to achieve geometric properties such as vertex or mid-edge point interpolation or area preservation. Most subdivision optimization has focused on fitting subdivision surfaces to other data [LLS01, MK04]. Typically these methods are data dependent (their optimization is dependent on the input data) and either use parametric correspondence or attempt to find some geometric correspondence to match the given data. Halstead et al. [HKD93] show how to set up an optimization problem to find the control points for a Catmull-Clark surface that minimizes various energy functionals such as thin-plate energy as well. To eliminate the optimization cost and ensure stability and local control, we aim at choosing optimal parameters for our subdivision scheme independent of any data given. 3. Continuity of the Js family The Js refinements generalize the Jarek construction to the whole family of refinement schemes (Fig. 3). Consider two loops, P = {P0, P1,... Pk} and Q = {Q0, Q1,... Qk}. Let Ls(P,Q) produce a new loop R = {R0, R1,... Rk}, where Ri= (1–s)Pi+sQi. Note that although Js(P)= Ls(J0(P), J1(P)), in general, Js(P)≠Ls(J0(P), J1(P)). Hence, the curves produced by iterations of Js refinements are not linear combinations of the curves produced by iterations of J. Rossignac & S. Schaefer JS refinements 3 / 13 four-point and cubic B-spline schemes. This observation explains why the limit curves produced by iterative Js refinements exhibit superior smoothness properties. As the number k of refinements grows, the loop P converges to a limit curve Js(P), which we simply denote as Js. We show that: for -1.7≤s<0 and 4≤s≤5.8, Js is C, for 0<s≤1 and 2.8<s<4, Js is C, for 1<s<3/2 and 3/2<s≤2.8, Js is C, for s=3/2, Js is C. Fig. 3: J0, J2/8, J4/8, J6/8, J8/8, J10/8, J12/8, colored from red to magenta (left & center). J0 is the C four-point curve (red). J4/8 is the C Jarek curve (green). J8/8 is the C uniform cubic B-spline curve (cyan). J12/8 is the C quintic uniform B-spline curve (magenta). A denser sampling of Js curves is also shown (right). To establish the continuity of the Js scheme for different values of s, we first consider the necessary conditions for continuity due to Reif [Rei95]. Given the subdivision matrix for Js, if the subdivision scheme produces curves that are C, then the eigenvalues of its subdivision matrix are of the form 1, (1/2), (1/4), ..., (1/2), λ, ... where λ<(1/2). The eigenvalues of the subdivision matrix for Js subdivision are 1, (1/2), (1/4), (1/8), (2–s)/8, (s–1)/16, (s-1)/16, 0, 0. It is easy to verify that Js subdivision satisfies the necessary conditions for C continuity when –2<s<6, C continuity when 0<s<4, C continuity when 1<s<3, and C continuity when s=3/2. Notice that these conditions are only necessary, they are not sufficient. To determine sufficient conditions on the subdivision scheme, we use the Laurent polynomial of the subdivision scheme given by S(z) = (s–1)/16 + s/8 z + (9–s)/16 z + (1–s/4) z + (9–s)/16 z + s/8 z + (s–1)/16 z, which encodes the columns of the infinite subdivision matrix in a compact form. The subdivision scheme will generate C curves if the infinity norm of the k power of the subdivision matrix for the m divided differences is less than 1 for some k [WW02, p. 77]. The columns of this divided difference subdivision matrix are given by (2/(1+z))S(z). We can check numerically what range of s satisfies these bounds for different continuity levels. We have verified that Js subdivision produces curves that are at least C for –1.7 <= s <= 5.8, C for 0<s<4, C for 1<s<= 2.8 and C for s=3/2. In fact, s=3/2 corresponds to uniform quintic b-spline subdivision, which is easily verified by noticing that their Laurant polynomials are identical. Although the sufficient bounds that we were able to verify numerically are slightly more restrictive than the proven necessary bounds, we strongly suspect that the true sufficient bounds extend to match the necessary bounds for continuity in the limit. We were not able to verify this conjecture because the numerical verification is exponential in k and difficult to compute for large values of k. 4. Relation with uniform B-splines Lane and Riesenfeld [LR80] showed that uniform B-spline curves Bd of degree d have a simple subdivision composed of two parts. To subdivide a curve, we first double the control points by inserting mid-edge points. Then we take the dual (replace the vertices by the mid-edge points) d-1 times. These subdivision rules create curves that are C. Our subdivision scheme Js exactly reproduces the odd degree B-splines B3 and B5 for s=1 and s=3/2. It does not reproduce even degree B-splines exactly though. However, we can optimize our parameter s in a data independent manner to match the basis functions created by B2 and B4 subdivision (Fig. 4).
منابع مشابه
Ringing subdivision of curves and surfaces
Split&Tweak subdivisions iteratively refine a polygon by inserting a vertex in the middle of each edge (Split) and then moving each vertex to an affine combination of five consecutive vertices (Tweak). Special cases include Dyn, Gregory, and Levin’s fourpoint subdivision, Lane and Riesenfeld’s cubic and quintic B-spline subdivision, Rossignac’s subdivision which produces C curves, and Maillot a...
متن کاملGIT - GVU - 07 - 06 April 10 , 2007
Both the four-point and the uniform cubic B-spline refinement (i.e. subdivision) schemes double the number of vertices of a closed-loop polygonal curve P and produce sequences of vertices fj and bj respectively. We proposed to analyze a subdivision scheme Js that blends the rules of these two refinement methods to produce vertices of the form vj=(1–s)fj+sbj. Iterative applications of Js yield a...
متن کاملAutomatic Detection of Perceived Ringing Regions in Compressed Images
An efficient approach toward a no-reference ringing metric intrinsically exists of two steps: first detecting regions in an image where ringing might occur, and second quantifying the ringing annoyance in these regions. This paper presents a novel approach toward the first step: the automatic detection of regions visually impaired by ringing artifacts in compressed images. It is a noreference a...
متن کاملAdaptive Image Deringing
This paper proposes new and original adaptive image ringing detection and ringing suppression methods. Ringing detection is performed using a scale-space based computational analysis of ideal low-pass filtering of step edges. Edge width conception is introduced and is used to approximate ringing parameter. Method to choose strong isolated edges which are the best suitable edges for ringing anal...
متن کاملA Novel Smart Bilateral Filter for Ringing Artifacts Removal in JPEG2000 Images
Ringing artifacts arise near edges in highly compressed JPEG2000 images. This paper proposes original image ringing detection and suppression techniques. On the first stage edge detection and ringing estimation algorithms are applied to calculate the ringing map of a compressed input image. On the second stage this ringing map is utilized to adjust the smart bilateral filter for effectively pro...
متن کامل